#pragma once
#include <Windows.h>
#include <Tlhelp32.h>
#include <map>

struct PROCESSINFO
{
    PROCESSENTRY32 pe;
    DWORD dwEprocess;
};

class CProcessEnum
{
public:
    CProcessEnum();
    virtual ~CProcessEnum();

public:
    UINT EnumAll();
    PROCESSINFO* GetAt( UINT uIndex );
protected:
    static BOOL PromotePrivilege( BOOL bEnable );
    void Clear();
private:
    std::map<UINT, PROCESSINFO*> m_vecProcess;
    UINT m_proCount;
};